package cn.edu.stu.syllabus.oa.list;

import java.util.List;
import java.util.Map;

import cn.edu.stu.syllabus.base.BasePresenter;
import cn.edu.stu.syllabus.base.BaseView;
import cn.edu.stu.syllabus.base.IStorable;
import cn.edu.stu.syllabus.repository.oa.local.OaInfoEntry;

/**
 * Created by daidaijie on 2017/3/14.
 */

public interface OaContract {

    interface Presenter extends BasePresenter, IStorable {
        void loadOaInfos();

        void resetRefreshing();

        void markIsRead(OaInfoEntry oaInfoEntry, int position);

        void clearAllRead();
    }

    interface View extends BaseView<Presenter> {

        void showDataEmpty();

        void showDataError();

        void showRefreshing(boolean isShow);

        void setOaInfoList(List<OaInfoEntry> oaInfoEntries);

        void appendOaInfoList(List<OaInfoEntry> oaInfoEntries);

        void showLoadingFail();

        void showLoadingEnd();

        void updateItem(int position);

        void updateAllItem();

        void updateAllNotRead();

        void moveToTop();

        void setRecyclerViewEnable(boolean enable);
    }
}
